Optimizing and Parallelizing Ranked Enumeration

نویسندگان

  • Konstantin Golenberg
  • Benny Kimelfeld
  • Yehoshua Sagiv
چکیده

Lawler-Murty’s procedure is a general tool for designing algorithms for enumeration problems (i.e., problems that involve the production of a large set of answers in ranked order), which naturally arise in database management. LawlerMurty’s procedure is used in a variety of modern database applications; particularly in those related to keyword search over structured data. Essentially, this procedure enumerates by invoking a series of instances of an optimization problem (i.e., finding the best solution); solving the optimization problem is the only part that depends on the specific task at hand. The topic of optimizing and parallelizing Lawler-Murty’s procedure is investigated. Naive parallelism can be carried out by concurrently solving independent instances of the optimization problem. This can be improved by printing the next answer, in the enumeration order, as soon as none of the concurrent instances can produce a better answer. However, this approach alone suffers from poor utilization of available threads. That leads to the idea of freezing an instance of the optimization problem. Interestingly, not only is freezing beneficial to the parallel execution of Lawler-Murty’s, it also substantially reduces the running time of the serial execution. Additional improvements of the freezing technique are then developed to further enhance the utilization of threads, and they result in a significant overall speedup. The effectiveness of the proposed approach is demonstrated on keyword search over data graphs, wherein an extensive experimental study is described.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parallelizing frequent web access pattern mining with partial enumeration for high speedup

The maximum speedup of direct parallelization of pattern-growth mining algorithms for long sequences is limited by the load imbalance among the parallel tasks. In this paper, we present a scheme to parallelize pattern-growth mining algorithms using partial enumeration for high speedup. The experimental results show that partial enumeration increases the achievable speedup of parallel mining sig...

متن کامل

Parallelizing query optimization

Many commercial RDBMSs employ cost-based query optimization exploiting dynamic programming (DP) to efficiently generate the optimal query execution plan. However, optimization time increases rapidly for queries joining more than 10 tables. Randomized or heuristic search algorithms reduce query optimization time for large join queries by considering fewer plans, sacrificing plan optimality. Thou...

متن کامل

Optimizing and Parallelizing Loops in Object-Oriented Database Programming Languages

Database programming languages like O2, E, and O++ include the ability to iterate through a set. Nested itera-tors can be used to express joins. Without program analysis, such joins must be evaluated using a tuple-at-a-timenested-loops join algorithm, because otherwise program semantics may be violated. Ensuring that the program’ssemantics are preserved during transformation require...

متن کامل

Combining Symbolic Execution and Path Enumeration in Worst-Case Execution Time Analysis

This paper examines the problem of determining bounds on execution time of real-time programs. Execution time estimation is generally useful in real-time software verification phase, but may be used in other phases of the design and execution of real-time programs (scheduling, automatic parallelizing, etc.). This paper is devoted to the worst-case execution time (WCET) analysis. We present a st...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • PVLDB

دوره 4  شماره 

صفحات  -

تاریخ انتشار 2011